package org.mcflier.appuntamento.data.model.abstracts;

import org.mcflier.appuntamento.data.model.interfaces.IAlternativeTitle;
import org.mcflier.appuntamento.i18n.Language;

public abstract class AbstractAlternativeTitle implements IAlternativeTitle {
	
	public AbstractAlternativeTitle(Language language, String alternativeTitle){
		if(language == null || alternativeTitle == null)
			throw new NullPointerException(this.getClass().getCanonicalName()+": Both constructor parameters must not be null");
		
		this.setAlternativeTitle(alternativeTitle);
		this.setLanguage(language);
	}

	@Override
	public abstract Language getLanguage();

	protected abstract void setLanguage(Language language);
	
	@Override
	public abstract String getAlternativeTitle();

	protected abstract void setAlternativeTitle(String alternativeTitle);
}
